54 #if defined(__TI_COMPILER_VERSION__)
55 #pragma DATA_SECTION(results, ".leaRAM")
56 #pragma RETAIN(results)
58 #elif defined(__IAR_SYSTEMS_ICC__)
59 #pragma location = 0x2C00
60 __no_init uint16_t
results[1024];
61 #pragma required = results
62 #elif defined(__GNUC__)
63 uint16_t
results[1024] __attribute__ ((section(
".leaRAM"), used));
65 #error Compiler not supported!
71 WDT_A_hold(WDT_A_BASE);
74 GPIO_setAsPeripheralModuleFunctionOutputPin(
77 GPIO_PRIMARY_MODULE_FUNCTION
85 FRAMCtl_A_configureWaitStateControl(FRAMCTL_A_ACCESS_TIME_CYCLES_1);
90 CS_initClockSignal(CS_ACLK, CS_VLOCLK_SELECT, CS_CLOCK_DIVIDER_4);
91 CS_initClockSignal(CS_SMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_4);
92 CS_initClockSignal(CS_MCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_4);
94 CS_setDCOFreq(CS_DCORSEL_1, CS_DCOFSEL_4);
99 CS_initClockSignal(CS_ACLK, CS_VLOCLK_SELECT, CS_CLOCK_DIVIDER_1);
100 CS_initClockSignal(CS_SMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_1);
101 CS_initClockSignal(CS_MCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_1);
105 SAPH_unlock(SAPH_BASE);
106 SAPH_configPHYBiasParam saphParam = {0};
107 saphParam.enableChargePump = SAPH_PHY_MULTIPLEXER_CHARGEPUMP_ENABLE;
108 saphParam.biasSwitchASQ = SAPH_PHY_BIAS_SWITCH_CONTROLLED_BY_REGISTER;
109 saphParam.biasPGA = SAPH_PHY_PGA_BIAS_NOMINAL_VALUE;
110 saphParam.biasExcitation = SAPH_PHY_EXCITATION_BIAS_NOMINAL_VALUE;
111 SAPH_configurePHYBias(SAPH_BASE, &saphParam);
112 SAPH_configurePHYMultiplexer(SAPH_BASE, SAPH_PHY_DUMMYLOAD_DISABLE,
113 SAPH_PHY_SOURCE_CONTROLLED_BY_REGISTER,
114 SAPH_PHY_INPUT_CHANNEL_0);
115 SAPH_lock(SAPH_BASE);
120 HSPLL_xtalInitParam xtalParam;
121 xtalParam.oscillatorType = HSPLL_XTAL_OSCTYPE_XTAL;
122 xtalParam.oscillatorEnable = HSPLL_XTAL_ENABLE;
123 xtalParam.xtlOutput = HSPLL_XTAL_OUTPUT_ENABLE;
124 HSPLL_xtalInit(HSPLL_BASE, &xtalParam);
127 while(HSPLL_getOscillatorStatus(HSPLL_BASE) == HSPLL_OSCILLATOR_NOT_STABILIZED);
131 Timer_A_initUpModeParam timerParam = {0};
132 timerParam.timerPeriod = 5;
133 timerParam.captureCompareInterruptEnable_CCR0_CCIE =
134 TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE;
136 timerParam.clockSource = TIMER_A_CLOCKSOURCE_ACLK;
138 timerParam.timerClear = TIMER_A_DO_CLEAR;
139 timerParam.startTimer =
true;
140 Timer_A_initUpMode(TA4_BASE, &timerParam);
143 __bis_SR_register(LPM3_bits | GIE);
154 HSPLL_initParam hspllParam;
155 hspllParam.multiplier = PLLM_19_H;
156 hspllParam.frequency = HSPLL_GREATER_THAN_6MHZ;
157 HSPLL_init(HSPLL_BASE, &hspllParam);
160 UUPS_turnOnPower(UUPS_BASE, UUPS_POWERUP_TRIGGER_SOURCE_USSPWRUP);
163 while(UUPS_getPowerModeStatus(UUPS_BASE) != UUPS_POWERMODE_READY);
166 while(HSPLL_isLocked(HSPLL_BASE) == HSPLL_UNLOCKED);
171 SDHS_initParam sdhsParam = {0};
173 sdhsParam.triggerSourceSelect = SDHS_REGISTER_CONTROL_MODE;
175 sdhsParam.autoSampleStart = SDHS_AUTO_SAMPLE_START_DISABLED;
176 sdhsParam.dataAlignment = SDHS_DATA_FORMAT_OFFSET_BINARY;
177 sdhsParam.dataFormat = SDHS_DATA_ALIGNED_LEFT;
179 sdhsParam.oversamplingRate = SDHS_OVERSAMPLING_RATE_10;
180 SDHS_init(SDHS_BASE, &sdhsParam);
182 SDHS_setTotalSampleSize(SDHS_BASE, 256);
184 SDHS_setPGAGain(SDHS_BASE, 0x1A);
186 SDHS_setModularOptimization(SDHS_BASE, SDHS_OPTIMIZE_PLL_OUTPUT_FREQUENCY_77_80MHz);
188 SDHS_setDTCDestinationAddress(SDHS_BASE, 0);
190 SDHS_enableInterrupt(SDHS_BASE, SDHS_ACQUISITION_DONE_INTERRUPT);
192 SDHS_enableTrigger(SDHS_BASE);
194 SDHS_enable(SDHS_BASE);
195 SDHS_startConversion(SDHS_BASE);
201 Timer_A_initUpModeParam timerParam2 = {0};
202 timerParam2.timerPeriod = 9400;
204 TA2CCTL1 = OUTMOD_7 | CCIE;
206 timerParam2.clockSource = TIMER_A_CLOCKSOURCE_ACLK;
208 timerParam2.timerClear = TIMER_A_DO_CLEAR;
209 timerParam2.startTimer =
true;
210 Timer_A_initUpMode(TA2_BASE, &timerParam2);
216 __bis_SR_register(LPM0_bits | GIE);
223 #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
224 #pragma vector = TIMER2_A1_VECTOR
225 __interrupt
void Timer2_A1_ISR(
void)
226 #elif defined(__GNUC__)
227 void __attribute__ ((interrupt(TIMER2_A1_VECTOR))) Timer2_A1_ISR(
void)
229 #error Compiler not supported!
232 switch(__even_in_range(TA2IV, TAIV__TAIFG))
234 case TAIV__NONE:
break;
236 SDHS_endConversion(SDHS_BASE);
237 SDHS_startConversion(SDHS_BASE);
239 case TAIV__TAIFG:
break;
245 #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
246 #pragma vector = SDHS_VECTOR
247 __interrupt
void SDHS_ISR(
void)
248 #elif defined(__GNUC__)
249 void __attribute__ ((interrupt(SDHS_VECTOR))) SDHS_ISR(
void)
251 #error Compiler not supported!
254 switch(__even_in_range(SDHSIIDX, IIDX_6))
259 GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0);
272 #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
273 #pragma vector = TIMER4_A0_VECTOR
274 __interrupt
void Timer4_A0_ISR(
void)
275 #elif defined(__GNUC__)
276 void __attribute__ ((interrupt(TIMER4_A0_VECTOR))) Timer4_A0_ISR(
void)
278 #error Compiler not supported!
282 Timer_A_startCounter(TA4_BASE, TIMER_A_STOP_MODE);
volatile uint16_t results[Num_of_Results]
__bic_SR_register_on_exit(LPM3_bits|GIE)